/**
 * * 14/05/2010
 * @author Kal�u Caminha
 * @author William Rodrigues
 * @author Rodrigo Coelho
 */

package semantico;

/**
 *
 * @author CoelhoNB
 */
public abstract class Identificador {

    public static int CAT_PROGRAMA = 1;
    public static int CAT_CONSTANTE = 2;
    public static int CAT_VARIAVEL = 3;
    public static int CAT_PROCEDIMENTO = 4;
    public static int CAT_FUNCAO = 5;
    public static int CAT_PARAMETRO = 6;

    protected String nome;
    protected int categoria;

    public Identificador(){
        //xxx
    }
    
    public Identificador(String nome, int categoria) {
        this.nome = nome;
        this.categoria = categoria;
    }
    

    public int getCategoria() {
        return categoria;
    }

    public void setCategoria(int categoria) {
        this.categoria = categoria;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public abstract int getNivel();

    public abstract TipoVariavel getIdTipo();

}
